
#ifndef _MEMBER_BPalette_H_
#define _MEMBER_BPalette_H_

#include <BMap>
#include <BColor>
#include <BIcon>
#include <BImage>
#include <BFont>
#include <BStyle>

#define style_member(style)		((member_BStyle*)((BStyle*)style)->_ptr)

namespace BWE
{
	class member_BStyle
	{
	public:
		member_BStyle(BStyle* style);
		~member_BStyle();

		void analysis(BString& sign, BString& value);
		void overlap(const BStyle* style);
		const BString& transWord(const BString& word) const;

		BStyle*			boss;
		BStyle*			lower;
		bool			dirty;

		BFontHolder						font;
		BMap<BString, BString>			transMap;

		BMap<StyleRole, BValue>			valueMap;
		BMap<StyleRole, BColor>			colorMap;
		BMap<StyleRole, BImageHolder>	imageMap;
		BMap<StyleRole, BIconHolder>	iconMap;

		BMap<BString, BColor>			namedColorMap;
		BMap<BString, BImageHolder>		namedImageMap;
		BMap<BString, BIconHolder>		namedIconMap;
	};
}

#endif
